查看原文
其他

Android破解实战:游戏蜂窝3.21版本破解记录

猪会被杀掉 看雪学院 2019-05-26

游戏蜂窝321版本破解补充。

修改VIP部分见319版本的文章:Android破解实战:游戏蜂窝3.19版本破解记录                                     

.method public isVip()I

   .locals 1

   .prologue

   .line 771

  invoke-virtual {p0}, Lcom/mfwfz/game/manager/LoginManager;->isLoginV70()Z

  move-result v0

   if-eqzv0, :cond_0

   .line 772

  iget-object v0, p0,Lcom/mfwfz/game/manager/LoginManager;->mInfo:Lcom/mfwfz/game/model/LoginResultInfo;

   iget v0,v0, Lcom/mfwfz/game/model/LoginResultInfo;->IsVip:I

   .line 774

   :goto_0

   const/4 v0, 0x1

   return v0

   :cond_0

   const/4v0, 0x0

   goto:goto_0

.end method 

\smali\com\mfwfz\game\fengwo\*.smail


搜索isLoginV70 函数调用

修改所有isLoginV70调用的返回值为“1”实现单击中间免ROOT脚本的游戏免登录。

\smali\com\mfwfz\game\fengwoscript\.smail


搜索isLogin函数的所有调用

修改所有isLogin调用的返回值为“1”,继续找到下面两句:

  • iget-boolean v1, v1, Lcom/mfwfz/game/vip/bean/VipRunPermInfo;->Run:Z

    const v1,0x1

    if-nez v1, :cond_2


  • iget-boolean v1,  v1, Lcom/mfwfz/game/vip/bean/VipRunPermInfo;->Try:Z

    const v1,0x1

    if-eqz v1, :cond_0

\smali\com\mfwfz\game\fengwoscript\model\manager\HeartAndPermManager.smali


找到checkRunPerm函数的实现

  • iget-boolean v2, v0, Lcom/mfwfz/game/vip/bean/VipRunPermInfo;->KickedOut:Z

    const v2, 0x0

    if-eqz v2, :cond_0


  • iget-boolean v2, v0, Lcom/mfwfz/game/vip/bean/VipRunPermInfo;->BanRun:Z

    const v2, 0x0

    if-nez v2, :cond_1


  • iget-boolean v2, v0, Lcom/mfwfz/game/vip/bean/VipRunPermInfo;->TryExpired:Z

    const v2, 0x0

    if-eqz v2, :cond_2

\smali\com\mfwfz\game\fengwoscript\ui\help\SzScriptInfoSetHelp.smali


找到函数setInfo的实现,修改下面

  • iget-boolean v1, v1, Lcom/mfwfz/game/vip/bean/VipRunPermInfo;->Run:Z

    const v1, 0x1

    if-nez v1, :cond_0

     

  • iget-boolean v1, v1, Lcom/mfwfz/game/vip/bean/VipRunPermInfo;->Try:Z

    const v1, 0x1

    if-eqz v1, :cond_3

\smali\com\mfwfz\game\fengwoscript\model\manager\HeartAndPermManager.smali


找到函数isRun的实现,Return前面添加:

const/4 v1, 0x1

return v1 

\smali\com\mfwfz\game\fengwoscript\presenter\ScriptInfoPresenter.smali

 

找到startScriptOnClick函数的实现

  • iget-boolean v1, v1, Lcom/mfwfz/game/vip/bean/VipRunPermInfo;->Run:Z

    const v1,0x1

    if-nez v1, :cond_2

 

  • iget-boolean v1, v1, Lcom/mfwfz/game/vip/bean/VipRunPermInfo;->Try:Z

    const v1,0x1

    if-eqz v1, :cond_0 

\smali\com\mfwfz\game\fengwoscript\model\manager\HeartAndPermManager.smali


找到onEventMainThread函数实现

(用“Lcom/mfwfz/game/vip/bean/VipScriptHeartInfo;->Status”搜索)

iget-boolean v4, v1,Lcom/mfwfz/game/vip/bean/VipScriptHeartInfo;->IsShowMsg:Z

iput-boolean v4, v2,Lcom/mfwfz/game/vip/bean/VipAdResultInfo;->IsShowMsg:Z

.line 180

iget v4, v1, Lcom/mfwfz/game/vip/bean/VipScriptHeartInfo;->Status:I

const/4 v4, 0x3

if-ne v4, v5, :cond_2

iget v4, v1,Lcom/mfwfz/game/vip/bean/VipScriptHeartInfo;->Status:I

const/4 v5, 0x6

const/4 v4, 0x3

if-ne v4, v5, :cond_3 

\smali_classes2\com\cyjh\gundam\utils\UUIDManager.smali


找到generateUUID函数的实现,函数开始添加下面:

const-string/jumbo v0,"1c59f8d2-a569-4968-ba4c-89488b3f1f34"

return-object v0

 

找到isExist函数,函数开始添加

const/4 v0, 0x1

return v0

\smali\com\mfwfz\game\fengwoscript\ui\help\SzScriptInfoSetHelp.smali


搜索字符串"isSupportYGJ",一些游戏支持云挂机有个按钮

iget-object v1, p0,Lcom/mfwfz/game/fengwoscript/ui/help/SzScriptInfoSetHelp;->mGoToYGJTv:Landroid/widget/LinearLayout;

if-eqz v0, :cond_2

:goto_1

const/16 v2, 0x8

invoke-virtual {v1, v2},Landroid/widget/LinearLayout;->setVisibility(I)V


首页按钮,没有网络时会出现:

\res\layout\view_homepage_ad_layout.xml

<?xmlversion="1.0" encoding="utf-8"?>

<LinearLayoutandroid:orientation="vertical" android:layout_width="0.0dip" android:layout_height="0.0dip"

xmlns:android="http://schemas.android.com/apk/res/android">

  <ImageView android:id="@id/vhal_iv" android:layout_width="0.0dip" android:layout_height="0.0dip" android:src="@drawable/game_image_default_9"android:scaleType="fitXY" />

</LinearLayout>

\res\layout\home_header_layout.xml

<?xmlversion="1.0" encoding="utf-8"?>

<LinearLayoutandroid:orientation="vertical" android:layout_width="0.0dip" android:layout_height="0.0dip"

xmlns:android="http://schemas.android.com/apk/res/android">

  <com.mfwfz.game.fengwo.ui.widget.homepage.HomePageAdViewandroid:id="@id/slideshowView" android:layout_width="0.0dip"android:layout_height="wrap_content" />

  <android.support.v7.widget.RecyclerViewandroid:id="@id/hhl_gethomeshortcuts_layout"style="@style/fw_new_index_link" />

  <ImageView android:id="@id/adposiont"android:visibility="gone" android:layout_height="0.0dip"android:src="@drawable/game_image_default" android:scaleType="fitXY"style="@style/hauto" />

  <com.mfwfz.game.fengwo.ui.widget.homepage.HomeHeaderCrackGamesViewandroid:orientation="vertical"android:id="@id/hhl_crackgames_layout"android:background="#ffffffff" android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_marginBottom="0.0dip" />

  <com.mfwfz.game.fengwo.ui.widget.homepage.HomeHeadlinesLayoutandroid:id="@id/hhl_headlines_ll"android:background="#ffffffff" android:layout_width="0.0dip" android:layout_height="0.0dip" android:layout_marginBottom="0.0dip" />

</LinearLayout>

\res\layout\ab_index_list_layout.xml

<?xmlversion="1.0" encoding="utf-8"?>

<LinearLayoutandroid:orientation="vertical" android:layout_width="0.0dip" android:layout_height="0.0dip"

 xmlns:android="http://schemas.android.com/apk/res/android">

  <RelativeLayout android:orientation="horizontal"android:id="@id/abill_search_layout"android:background="#00000000"style="@style/common_head">

      <RelativeLayout android:id="@id/home_title_root_layout"android:background="@drawable/fw_index_head_solid"android:layout_width="32.0dip"android:layout_height="32.0dip"android:layout_marginLeft="8.0dip"android:layout_centerVertical="true">

          <LinearLayout android:gravity="center" android:layout_width="32.0dip"android:layout_height="32.0dip">

              <com.mfwfz.game.fengwo.ui.widget.RoundedImageViewandroid:id="@id/homeAvatar"android:background="@drawable/fw_nav_left_nologin_img" android:layout_width="30.0dip"android:layout_height="30.0dip" style="@style/whauto" />

          </LinearLayout>

          <ImageView android:id="@id/home_title_red_iv"android:background="@drawable/head_img_red"android:visibility="gone" android:layout_alignParentTop="true"android:layout_alignParentRight="true"style="@style/whauto" />

      </RelativeLayout>

      <RelativeLayout android:id="@id/go_to_new_search"style="@style/fw_index_search_white">

          <ImageView android:id="@id/abill_search_icon_iv"android:layout_centerVertical="true" style="@style/fw_head_search"/>

          <TextView android:id="@id/abill_search_tips_iv"android:text="@string/fw_head_search_edit"android:layout_centerInParent="true" style="@style/fw_head_search_edit"/>

      </RelativeLayout>

      <ImageView android:id="@id/home_title_rcode_iv"android:padding="8.0dip"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/fw_index_head_code_white"android:layout_alignParentRight="true"android:layout_centerInParent="true" />

  </RelativeLayout>

  <TextView android:id="@id/searchBubble"android:text="@string/fw_index_head_search_notice"style="@style/fw_index_head_search_notice" />

</LinearLayout>

\res\layout-v17\pop_script_advance.xml


有些游戏脚本提示需要VIP:


/api/GetScriptsByTopic:

该接口返回的所有脚本列表里面一个:"IsVip": 1 改为"IsVip": 0

/api/GetRunPerm:"AntiDetectionFlag":0  (0代表非跳过VIP检测)

{"RunPerm":{"Run": true, "ShowAd": false, "Try": false,"TryExpired": false, "BanRun": false,"KickedOut": false}, "PlayTime": 0, "EachTryTime":0, "ScriptInfo": {"IsEncrypt": 1, "EncryptKey":"06zFBUyZlvEbN4yE6jGbmvpdmXg1qCqn3EEtr0tVBvDzps+de47QmQrB657kdzcgZaEkq7VhD78=","NewEncryptKey": "7+ivPvWQRaDuix9EdwvX00n/3UaliZxTRo3FnCsXi4SoG90YCknSqD8+TZNVrXL0VmRJZZOLO+8=","ScriptPath": "http://a.rrfengwo.com/res/script/153626/afef311031b665e3a9b2325092c79cc8_153626.zip"},"IsShowMsg": false, "BtnType": 0,"HeartbeatInterval": 600, "IsReceiveCard": false,"IsBindPhone": true, "TipInfo": null, "AntiDetectionFlag": 2, "IsTmpAccount":false}



\smali\com\mfwfz\game\fengwo\pxkj\ui\view\MainHeaderView.smali

搜索代码“paramList.add(1,new RedAppButton(getContext(), "2"));”

smail里面删掉这句代码(签到红包)       

const-string/jumbo v8,"2"

invoke-direct {v6, v7, v8},Lcom/mfwfz/game/fengwo/pxkj/core/models/RedAppButton;-><init>(Landroid/content/Context;Ljava/lang/String;)V

invoke-interface {p1, v11,v6}, Ljava/util/List;->add(ILjava/lang/Object;)V


下面是对模拟器的处理

<service android:name="com.cyjh.gundam.fengwo.pxkj.tools.manager.XServerFrontProServer"android:process=":x"/>

\smali\com\mfwfz\game\fengwo\presenter\WelcomeActivityPresenter.smali


com.cyjh.gundam;x进程重签名后不知道为什么会崩溃。

\com\cyjh\gundam\fengwo\presenter\WelcomeActivityPresenter.java


找到initData函数的实现,删掉

“XServerFrontProServer.toXService(BaseApplication.getInstance());”

\smali\com\mfwfz\game\application\BaseApplication.smali


找到函数onKillProcess,删掉

“ XServerFrontProServer.toXServiceForType(getInstance(), 1);”

这句对应上面的X进程的结束处理。


this.getHomeShortcutsLayout.setLayoutManager((RecyclerView.LayoutManager)localObject);

this.getHomeShortcutsLayout.setAdapter((RecyclerView.Adapter)localObject);

\smali\com\mfwfz\game\fengwo\rootview\FreeRootView.smali


this.mTowebview.setVisibility(0);

      this.mYDLView.setVisibility(0);

   .line 76

   const/16 v3, 0x8

   iget-objectv0, p0,Lcom/mfwfz/game/fengwo/rootview/FreeRootView;->mTowebview:Landroid/widget/TextView;

  invoke-virtual {v0, v3}, Landroid/widget/TextView;->setVisibility(I)V

   .line 77

  iget-object v0, p0, Lcom/mfwfz/game/fengwo/rootview/FreeRootView;->mYDLView:Landroid/widget/TextView;

  invoke-virtual {v0, v3}, Landroid/widget/TextView;->setVisibility(I)V

const/16v3, 0x0

/api/GetAllTopic

 

"SportYGJ":false,

"SportXBY":false 

\smali\com\mfwfz\game\fengwo\ui\activity\AssistantLibActivity.smali


查找函数initData

“this.mPresenter= new AssistantLibPresenter(this)”

后面直接返回来避免加载辅助的详细信息。

.methodpublic initData()V

  .locals 8

  .prologue

  .line 84

  iget-object v0, p0, Lcom/mfwfz/game/fengwo/ui/activity/AssistantLibActivity;->searchBtn:Landroid/widget/TextView;

  invoke-static {},Lcom/mfwfz/game/tools/preparadata/PreparaLoadManager;->getInstance()Lcom/mfwfz/game/tools/preparadata/PreparaLoadManager;

  move-result-object v1

  invoke-virtual {v1},Lcom/mfwfz/game/tools/preparadata/PreparaLoadManager;->getSearchHint()Ljava/lang/String;

  move-result-object v1

  invoke-virtual {v0, v1},Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V

  .line 85

  new-instance v0, Lcom/mfwfz/game/fengwo/presenter/AssistantLibPresenter;

  invoke-direct {v0, p0},Lcom/mfwfz/game/fengwo/presenter/AssistantLibPresenter;-><init>(Lcom/mfwfz/game/fengwo/ui/inf/IChooseLocalGamesActivity;)V

  iput-object v0, p0,Lcom/mfwfz/game/fengwo/ui/activity/AssistantLibActivity;->mPresenter:Lcom/mfwfz/game/fengwo/presenter/AssistantLibPresenter;

  return-void

\smali\com\mfwfz\game\fengwo\ui\activity\MatchingLocalGameActivity.smali


找到handleBackEvent函数,删掉

IntentUtil.toAssistantLibActivity(paramContext);

 invoke-static {p1},Lcom/mfwfz/game/utils/IntentUtil;

->toAssistantLibActivity(Landroid/content/Context;)V



上图中,单击返回会返回到这里:



\smali\com\mfwfz\game\fengwo\viewholder\CrackGamesHolder*.smali


搜索toSearchForTopicResultActivity函数的调用onClick函数里面调用,onClick用来响应单击事件。onClick函数头直接返回

itemYgj =(TextView)this.itemView.findViewById(2131625146);


\smali\com\mfwfz\game\fengwo\pxkj\ui\dialog\RedBagDialog.smali

找到showDialog函数直接返回

.method public staticshowDialog(Landroid/content/Context;)V

   .locals 1

   .param p0,"context"    # Landroid/content/Context;

return-void


或者找到红包按钮事件“get_redbag_btn”的xml文件,然后再找到按钮事件的源码文件夹。


版本号:






看雪ID:猪会被杀掉     

https://bbs.pediy.com/user-687175.htm




本文由看雪论坛 猪会被杀掉 原创

转载请注明来自看雪社区






热门技术文章推荐:





戳原文,看看大家都是怎么说的?

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存